/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package vista.planificacion;

import controlador.planificacion.GestorEditarTareaDetalles;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.util.ArrayList;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.JTableHeader;
import modelo.*;
import util.NTupla;
import util.SwingPanel;
import util.Tupla;
import vista.interfaces.ICallBack_v3;
import vista.util.Validaciones;

/**
 *
 * @author Fran
 */
public class EditarTareaDetallesABM_SeleccionDetallePadre extends javax.swing.JInternalFrame {

    private GestorEditarTareaDetalles gestor;
    private ICallBack_v3 pantallaPrincipal;
    DetalleTareaPlanificacion detalleSuperiorSeleccionado;
    int disponiblesPersonasEnDetalleSuperior;
    int disponiblesPersonasAsignadasEnDetalleSuperior;
    double disponiblesHsNormalesEnDetalleSuperior;
    double disponiblesHs100EnDetalleSuperior;
    double disponiblesHs50EnDetalleSuperior;
    String especialidadDetalleTPadreDisponibles;
    double costoEnDetalleSuperior;
    
    
    double hsNormalesEnTareaCotizadaOriginal;
    double hs100EnTareaCotizadaOriginal;
    double hs50EnTareaCotizadaOriginal;
    double costoEnTareaCotizadaOriginal;
    
    double hsNormalesEnTareaCotizadaModif;
    double hs100EnTareaCotizadaModif;
    double hs50EnTareaCotizadaModif;
    double costoEnTareaCotizadaModif;
    
    int cantPersonas;
    double cantHsNormales;
    double cantHs100;
    double cantHs50;
    Especialidad especialidadPadre;
    int idEspecialidad;
    double costoDetalle;
    
    boolean enProceso=false;
    
    public EditarTareaDetallesABM_SeleccionDetallePadre(ICallBack_v3 pantalla, GestorEditarTareaDetalles gestor) {
        initComponents();        
        this.gestor = gestor;
        gestor.setPantallaABM_SeleccionPadre(this);
        inicializarVentana();
        pantallaPrincipal=pantalla;
        if(gestor.getCopiaDetallePadre()!=null)
        {
            costoDetalle=gestor.getCopiaDetallePadre().getCostoXHoraNormal();
            especialidadPadre=gestor.getCopiaDetallePadre().getEspecialidad();
        }
        btnSiguiente.setEnabled(false);
    }

    
    private void inicializarVentana()
    {
        enProceso=true;
      tblDetallesTareaSuperior.getTableHeader().setPreferredSize(new Dimension(tblDetallesTareaSuperior.getColumnModel().getTotalColumnWidth(), 34));
      
      cargarCboTareasSuperiores(); 
      seleccionarTareaCboTareasSuperiores();
      cambiarTamCabeceraTablas();
      
      
      
      enProceso=false;
    }
    private void cambiarTamCabeceraTablas()
    {
        Font fuente = new Font("Verdana", Font.PLAIN, 9);
        JTableHeader th1;
        th1 = tblDetallesTareaSuperior.getTableHeader();
        th1.setFont(fuente); 
        
              
    }
    
    public void cargarCboTareasSuperiores()
    {
        ArrayList<NTupla> listaTareasSuperiores = gestor.mostrarTareasSuperiores();
        DefaultComboBoxModel model = new DefaultComboBoxModel();
        if(listaTareasSuperiores!=null && !listaTareasSuperiores.isEmpty())
        for (NTupla ts : listaTareasSuperiores)
        {
            model.addElement(ts);
        }
        cmbTareaSuperior.setModel(model);        
        
        /*if(!listaTareasSuperiores.isEmpty())        
        {
            NTupla t0 = new NTupla(-1);
            if(listaTareasSuperiores.get(0).getId()!=-1)
            t0.setNombre("Seleccione una tarea..."); 
            cmbTareaSuperior.insertItemAt(t0, 0);
        }*/
        
        
        cmbTareaSuperior.setSelectedIndex(0); 
        
        vaciarTablaTareaSuperior();
    }
    
   public void seleccionarTareaCboTareasSuperiores()
    {
        ArrayList<NTupla> listaTareasSuperiores = gestor.mostrarTareasSuperiores();
        DefaultComboBoxModel model = new DefaultComboBoxModel();
        if(listaTareasSuperiores!=null && !listaTareasSuperiores.isEmpty())
        for (int i=listaTareasSuperiores.size()-1;i>0;i--)
        {
            if(((TareaPlanificacion)listaTareasSuperiores.get(i).getData()).obtenerTotalDeHorasSinSubtareas()>0.0)
            {
                cmbTareaSuperior.setSelectedIndex(i); 
                break;
            }
               
        }
        seleccionDeCombo();
        
    }
    
    
    

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        btnSiguiente = new javax.swing.JButton();
        btnCancelar = new javax.swing.JButton();
        jPanel3 = new javax.swing.JPanel();
        jLabel6 = new javax.swing.JLabel();
        cmbTareaSuperior = new javax.swing.JComboBox();
        jPanel1 = new javax.swing.JPanel();
        jScrollPane2 = new javax.swing.JScrollPane();
        tblDetallesTareaSuperior = new javax.swing.JTable();
        jLabel17 = new javax.swing.JLabel();
        lblPersonasDetalleTPadreDisponibles = new javax.swing.JLabel();
        lblHsNormalesDetalleTPadreDisponibles = new javax.swing.JLabel();
        lblHs50DetalleTPadreDisponibles = new javax.swing.JLabel();
        lblHs100DetalleTPadreDisponibles = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        jLabel10 = new javax.swing.JLabel();
        jLabel9 = new javax.swing.JLabel();
        jLabel11 = new javax.swing.JLabel();
        lblEspecialidadDetalleTPadreDisponibles = new javax.swing.JLabel();
        jLabel13 = new javax.swing.JLabel();
        lblCostoDetalleTPadreDisponibles = new javax.swing.JLabel();

        setOpaque(true);

        btnSiguiente.setIcon(new javax.swing.ImageIcon(getClass().getResource("/res/iconos/var/16x16/next.png"))); // NOI18N
        btnSiguiente.setText("Siguiente");
        btnSiguiente.setEnabled(false);
        btnSiguiente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSiguienteActionPerformed(evt);
            }
        });

        btnCancelar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/res/iconos/var/16x16/block.png"))); // NOI18N
        btnCancelar.setText("Cancelar");
        btnCancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnCancelarActionPerformed(evt);
            }
        });

        jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("Selección de detalle de la tarea superior"));

        jLabel6.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        jLabel6.setForeground(new java.awt.Color(51, 51, 51));
        jLabel6.setText("Tarea de nivel superior de la que usar horas:");

        cmbTareaSuperior.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cmbTareaSuperiorActionPerformed(evt);
            }
        });

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Horas disponibles en la tarea de nivel superior. Seleccione un detalle:"));
        jPanel1.setEnabled(false);

        tblDetallesTareaSuperior.setFont(new java.awt.Font("Tahoma", 0, 9)); // NOI18N
        tblDetallesTareaSuperior.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Especialidad", "Rango", "<html>Personas<br> Asignadas</html>", "Hs Normales", "Hs 50%", "Hs 100%"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false, false, false, false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        tblDetallesTareaSuperior.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tblDetallesTareaSuperiorMouseClicked(evt);
            }
            public void mousePressed(java.awt.event.MouseEvent evt) {
                tblDetallesTareaSuperiorMousePressed(evt);
            }
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                tblDetallesTareaSuperiorMouseReleased(evt);
            }
        });
        jScrollPane2.setViewportView(tblDetallesTareaSuperior);

        jLabel17.setFont(new java.awt.Font("Tahoma", 0, 9)); // NOI18N
        jLabel17.setText("Disponibles");

        lblPersonasDetalleTPadreDisponibles.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        lblPersonasDetalleTPadreDisponibles.setText("---");

        lblHsNormalesDetalleTPadreDisponibles.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        lblHsNormalesDetalleTPadreDisponibles.setText("---");

        lblHs50DetalleTPadreDisponibles.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        lblHs50DetalleTPadreDisponibles.setText("---");

        lblHs100DetalleTPadreDisponibles.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        lblHs100DetalleTPadreDisponibles.setText("---");

        jLabel8.setFont(new java.awt.Font("Tahoma", 0, 9)); // NOI18N
        jLabel8.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel8.setText("Hs Normales");

        jLabel7.setFont(new java.awt.Font("Tahoma", 0, 9)); // NOI18N
        jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel7.setText("Personas");

        jLabel10.setFont(new java.awt.Font("Tahoma", 0, 9)); // NOI18N
        jLabel10.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel10.setText("Hs al 100%");

        jLabel9.setFont(new java.awt.Font("Tahoma", 0, 9)); // NOI18N
        jLabel9.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel9.setText("Hs al 50%");

        jLabel11.setFont(new java.awt.Font("Tahoma", 0, 9)); // NOI18N
        jLabel11.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel11.setText("Especialidad");

        lblEspecialidadDetalleTPadreDisponibles.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        lblEspecialidadDetalleTPadreDisponibles.setText("---");

        jLabel13.setFont(new java.awt.Font("Tahoma", 0, 9)); // NOI18N
        jLabel13.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel13.setText("Costo/Hora");

        lblCostoDetalleTPadreDisponibles.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        lblCostoDetalleTPadreDisponibles.setText("---");

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel17, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jLabel11, javax.swing.GroupLayout.DEFAULT_SIZE, 102, Short.MAX_VALUE)
                    .addComponent(lblEspecialidadDetalleTPadreDisponibles, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 18, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jLabel7, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(lblPersonasDetalleTPadreDisponibles, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(38, 38, 38)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jLabel8, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(lblHsNormalesDetalleTPadreDisponibles, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGap(34, 34, 34)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jLabel9, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(lblHs50DetalleTPadreDisponibles, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGap(33, 33, 33)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(lblHs100DetalleTPadreDisponibles, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel10))
                .addGap(18, 18, 18)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(jLabel13, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(lblCostoDetalleTPadreDisponibles, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(2, 2, 2))
            .addComponent(jScrollPane2)
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jLabel9)
                        .addGap(1, 1, 1)
                        .addComponent(lblHs50DetalleTPadreDisponibles))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jLabel11)
                        .addGap(1, 1, 1)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(lblEspecialidadDetalleTPadreDisponibles)
                            .addComponent(jLabel17)))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jLabel8)
                        .addGap(1, 1, 1)
                        .addComponent(lblHsNormalesDetalleTPadreDisponibles))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jLabel7)
                        .addGap(1, 1, 1)
                        .addComponent(lblPersonasDetalleTPadreDisponibles))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jLabel10)
                        .addGap(1, 1, 1)
                        .addComponent(lblHs100DetalleTPadreDisponibles))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jLabel13)
                        .addGap(1, 1, 1)
                        .addComponent(lblCostoDetalleTPadreDisponibles)))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addComponent(cmbTareaSuperior, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addComponent(jLabel6)
                .addGap(0, 0, Short.MAX_VALUE))
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addComponent(jLabel6)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(cmbTareaSuperior, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(5, 5, 5)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(0, 0, Short.MAX_VALUE)
                        .addComponent(btnSiguiente)
                        .addGap(18, 18, 18)
                        .addComponent(btnCancelar)
                        .addContainerGap())
                    .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnCancelar)
                    .addComponent(btnSiguiente))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void btnSiguienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSiguienteActionPerformed
        int selectedRow=tblDetallesTareaSuperior.getSelectedRow();
       
       
       if(selectedRow!=-1)
       {
              detalleSuperiorSeleccionado = (DetalleTareaPlanificacion) ((NTupla) tblDetallesTareaSuperior.getModel().getValueAt(selectedRow, 0)).getData();
              gestor.crearNuevoDetalleAcutal(detalleSuperiorSeleccionado);
              EditarTareaDetallesABM editarDetalle = new EditarTareaDetallesABM(pantallaPrincipal,gestor,false, false);
              SwingPanel.getInstance().addWindow(editarDetalle);
              editarDetalle.setVisible(true);
              this.dispose();
       } 
       
       
        /*this.actualizarPantallas();

        // Si tiene callback lo activo
        if (this.tieneCallback != null) {
            this.tieneCallback.actualizar(gestor.getTareaActual().hashCode(), PlanificacionSubTareas.CALLBACK_NUEVASUBTAREA, TareaPlanificacion.class);
        }

        this.setVisible(false);*/
        
    }//GEN-LAST:event_btnSiguienteActionPerformed

    private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelarActionPerformed
        this.dispose();
    }//GEN-LAST:event_btnCancelarActionPerformed

    private void tblDetallesTareaSuperiorMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tblDetallesTareaSuperiorMouseReleased
        //   clicEnTablaDetallesTareaSuperior(evt);
    }//GEN-LAST:event_tblDetallesTareaSuperiorMouseReleased

    private void tblDetallesTareaSuperiorMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tblDetallesTareaSuperiorMousePressed
        clicEnTablaDetallesTareaSuperior(evt);
    }//GEN-LAST:event_tblDetallesTareaSuperiorMousePressed

    private void tblDetallesTareaSuperiorMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tblDetallesTareaSuperiorMouseClicked
        // clicEnTablaDetallesTareaSuperior(evt);
    }//GEN-LAST:event_tblDetallesTareaSuperiorMouseClicked

    private void cmbTareaSuperiorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmbTareaSuperiorActionPerformed
        seleccionDeCombo();
    }//GEN-LAST:event_cmbTareaSuperiorActionPerformed
        
    private void seleccionDeCombo()
    {
        vaciarTablaTareaSuperior();
        if (((NTupla) cmbTareaSuperior.getSelectedItem()).getId() != -1) {
            if (((NTupla) cmbTareaSuperior.getItemAt(0)).getId() == -1) {
                cmbTareaSuperior.removeItemAt(0);
            }
            NTupla tarea = (NTupla) cmbTareaSuperior.getModel().getSelectedItem();
            llenarTablaTareaSuperior((TareaPlanificacion) tarea.getData());
            btnSiguiente.setEnabled(false);
            limpiarDatosDetalleEnPantalla();
        }
    }
    
    private void llenarTablaTareaSuperior(TareaPlanificacion tareaSuperior)
    {       
       habilitarDespuesDeClickEnComboTareas(true);
       for (DetalleTareaPlanificacion detalle:tareaSuperior.getDetallesSinDetallesVacios()) 
       {
            agregarDetalleTareaATabla(detalle);
       }       
        
    }
    
    private void vaciarTablaTareaSuperior()
    {
         habilitarDespuesDeClickEnComboTareas(false);
        ((DefaultTableModel)tblDetallesTareaSuperior.getModel()).setRowCount(0);
         //habilitarDespuesDeClickEnTabla(false);
    }
    private void habilitarDespuesDeClickEnComboTareas(boolean habilitar)
    {
        tblDetallesTareaSuperior.setEnabled(habilitar);
        
        
    } 
    private void clicEnTablaDetallesTareaSuperior(java.awt.event.MouseEvent evt)
    {  
       clicEnTablaDetallesTareaSuperior();       
       evt.consume();
       
    }
    private void clicEnTablaDetallesTareaSuperior()
    {
         enProceso=true;    
       int selectedRow=tblDetallesTareaSuperior.getSelectedRow();
       
       
       if(selectedRow!=-1)
       {
              detalleSuperiorSeleccionado = (DetalleTareaPlanificacion) ((NTupla) tblDetallesTareaSuperior.getModel().getValueAt(selectedRow, 0)).getData();  
               disponiblesPersonasEnDetalleSuperior = detalleSuperiorSeleccionado.getCantidadPersonas();
               disponiblesPersonasAsignadasEnDetalleSuperior = detalleSuperiorSeleccionado.getCantidadPersonasAsignadas();
               disponiblesHsNormalesEnDetalleSuperior = detalleSuperiorSeleccionado.getCantHorasNormales();
               disponiblesHs50EnDetalleSuperior = detalleSuperiorSeleccionado.getCantHorasAl50();
               disponiblesHs100EnDetalleSuperior = detalleSuperiorSeleccionado.getCantHorasAl100();
               especialidadDetalleTPadreDisponibles=detalleSuperiorSeleccionado.getEspecialidad().getTipo().getNombre().toString()+"-"+detalleSuperiorSeleccionado.getEspecialidad().getRango().getNombre().toString();
               costoEnDetalleSuperior=detalleSuperiorSeleccionado.getCostoXHoraNormal();
               setearDatosDetalleSuperiorEnPantalla();
               
               btnSiguiente.setEnabled(true);
       }     
            
        enProceso=false; 
    }
    
    private void setearDatosDetalleSuperiorEnPantalla()
    {
            
            lblPersonasDetalleTPadreDisponibles.setText(String.valueOf(disponiblesPersonasEnDetalleSuperior));
            lblHsNormalesDetalleTPadreDisponibles.setText(String.valueOf(disponiblesHsNormalesEnDetalleSuperior));
            lblHs50DetalleTPadreDisponibles.setText(String.valueOf(disponiblesHs50EnDetalleSuperior));
            lblHs100DetalleTPadreDisponibles.setText(String.valueOf(disponiblesHs100EnDetalleSuperior));
            lblEspecialidadDetalleTPadreDisponibles.setText(especialidadDetalleTPadreDisponibles);
            lblCostoDetalleTPadreDisponibles.setText(String.valueOf(costoEnDetalleSuperior));
        
         
        
    }
    
   
   private void limpiarDatosDetalleEnPantalla()
    {
        lblPersonasDetalleTPadreDisponibles.setText("---");
        lblHsNormalesDetalleTPadreDisponibles.setText("---");
        lblHs50DetalleTPadreDisponibles.setText("---");
        lblHs100DetalleTPadreDisponibles.setText("---");
        lblEspecialidadDetalleTPadreDisponibles.setText("---");       
        lblCostoDetalleTPadreDisponibles.setText("---");
        
    }
    
   
    
    private void agregarDetalleTareaATabla(DetalleTareaPlanificacion detalleTarea) //throws Exception
    {
       Object[] datos=new Object[6];   
       NTupla nombreTipoEspecialidad=new NTupla();
       nombreTipoEspecialidad.setNombre(detalleTarea.getEspecialidad().getTipo().getNombre());
       nombreTipoEspecialidad.setData(detalleTarea);
       datos[0]=nombreTipoEspecialidad; 
       Tupla detalleYNombreRango=new Tupla();
       detalleYNombreRango.setNombre(detalleTarea.getEspecialidad().getRango().getNombre());       
       datos[1]=detalleYNombreRango;      
       datos[2]=detalleTarea.getCantidadPersonasAsignadas()+"/"+detalleTarea.getCantidadPersonas();
       datos[3]=detalleTarea.getCantHorasNormales();
       datos[4]=detalleTarea.getCantHorasAl50();
       datos[5]=detalleTarea.getCantHorasAl100();
       
       DefaultTableModel modelo = (DefaultTableModel) tblDetallesTareaSuperior.getModel();
       
           modelo.addRow(datos);
       
    }
    
   
  
   
    
    /*public void actualizar()
    {
        disponiblesPersonasEnDetalleSuperior=gestor.getCopiaDetallePadre().getCantidadPersonas();
        disponiblesPersonasAsignadasEnDetalleSuperior=gestor.getCopiaDetallePadre().getCantidadPersonasAsignadas();
        disponiblesHsNormalesEnDetalleSuperior=gestor.getCopiaDetallePadre().getCantHorasNormales();
        disponiblesHs50EnDetalleSuperior=gestor.getCopiaDetallePadre().getCantHorasAl50();
        disponiblesHs100EnDetalleSuperior=gestor.getCopiaDetallePadre().getCantHorasAl100();
        especialidadDetalleTPadreDisponibles=gestor.getCopiaDetallePadre().getEspecialidad().getTipo().getNombre().toString()+"-"+gestor.getCopiaDetallePadre().getEspecialidad().getRango().getNombre().toString();
        
        
        
        setearDatosDetalleSuperiorEnPantalla();
    }*/
    
    
    
    public void MostrarMensaje(int tipo,String titulo,String mensaje)
    {
         JOptionPane.showMessageDialog(this.getParent(),mensaje,titulo,tipo);
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnCancelar;
    private javax.swing.JButton btnSiguiente;
    private javax.swing.JComboBox cmbTareaSuperior;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel13;
    private javax.swing.JLabel jLabel17;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JLabel lblCostoDetalleTPadreDisponibles;
    private javax.swing.JLabel lblEspecialidadDetalleTPadreDisponibles;
    private javax.swing.JLabel lblHs100DetalleTPadreDisponibles;
    private javax.swing.JLabel lblHs50DetalleTPadreDisponibles;
    private javax.swing.JLabel lblHsNormalesDetalleTPadreDisponibles;
    private javax.swing.JLabel lblPersonasDetalleTPadreDisponibles;
    private javax.swing.JTable tblDetallesTareaSuperior;
    // End of variables declaration//GEN-END:variables

    

    private void seleccionarTareaCombo(TareaPlanificacion tareaDeDetallePadre)
    {
        for (int i = 0; i < cmbTareaSuperior.getItemCount(); i++) 
        {
            if (((NTupla) cmbTareaSuperior.getItemAt(0)).getId() == -1) {
                cmbTareaSuperior.removeItemAt(0);
            }
            else
            {
                 if (  ((TareaPlanificacion)((NTupla) cmbTareaSuperior.getItemAt(i)).getData()).equals(tareaDeDetallePadre) )
                 {
                     cmbTareaSuperior.setSelectedItem(cmbTareaSuperior.getItemAt(i));
                     llenarTablaTareaSuperior(tareaDeDetallePadre);
                     cmbTareaSuperior.setEnabled(false);                     
                 }             
            }
        }
    }
    
    
   
    
    
}
